// To parse this JSON data, do
//
//     final schoolUserInfo = schoolUserInfoFromJson(jsonString);

import 'dart:convert';

SchoolUserInfo schoolUserInfoFromJson(String str) =>
    SchoolUserInfo.fromJson(json.decode(str));

String schoolUserInfoToJson(SchoolUserInfo data) => json.encode(data.toJson());

class SchoolUserInfo {
  int? status;
  String? message;
  SchoolUserInfoData? result;

  SchoolUserInfo({
    this.status,
    this.message,
    this.result,
  });

  factory SchoolUserInfo.fromJson(Map<String, dynamic> json) => SchoolUserInfo(
        status: json["status"],
        message: json["message"],
        result: json["result"] == null
            ? null
            : SchoolUserInfoData.fromJson(json["result"]),
      );

  Map<String, dynamic> toJson() => {
        "status": status,
        "message": message,
        "result": result?.toJson(),
      };
}

class SchoolUserInfoData {
  SchoolUserInfoPayment? payment;

  SchoolUserInfoData({
    this.payment,
  });

  factory SchoolUserInfoData.fromJson(Map<String, dynamic> json) =>
      SchoolUserInfoData(
        payment: SchoolUserInfoPayment.fromJson(json["payment"]),
      );

  Map<String, dynamic> toJson() => {
        "payment": payment?.toJson(),
      };
}

class SchoolUserInfoPayment {
  String? id;
  String? quoteNumber;
  String? platform;
  String? firstName;
  String? lastName;
  String? email;
  String? zipCode;
  String? phone;
  String? paymentItem;
  int? paymentTerm;
  String? status;
  String? schoolName;
  int? studentNumber;
  double? unitPrice;
  double? subtotalPrice;
  double? tax;
  String? paymentMethod;
  String? braintreeCustomerId;
  String? transactionId;
  String? wireTransferBankName;
  String? wireTransferFile;
  String? purchaseOrderNumber;
  String? purchaseOrderFile;
  String? referrerCode;
  String? couponCode;
  String? ipAddress;
  int? createDate;
  int? updateDate;

  SchoolUserInfoPayment({
    this.id,
    this.quoteNumber,
    this.platform,
    this.firstName,
    this.lastName,
    this.email,
    this.zipCode,
    this.phone,
    this.paymentItem,
    this.paymentTerm,
    this.status,
    this.schoolName,
    this.studentNumber,
    this.unitPrice,
    this.subtotalPrice,
    this.tax,
    this.paymentMethod,
    this.braintreeCustomerId,
    this.transactionId,
    this.wireTransferBankName,
    this.wireTransferFile,
    this.purchaseOrderNumber,
    this.purchaseOrderFile,
    this.referrerCode,
    this.couponCode,
    this.ipAddress,
    this.createDate,
    this.updateDate,
  });

  factory SchoolUserInfoPayment.fromJson(Map<String, dynamic> json) =>
      SchoolUserInfoPayment(
        id: json["id"],
        quoteNumber: json["quoteNumber"],
        platform: json["platform"],
        firstName: json["firstName"],
        lastName: json["lastName"],
        email: json["email"],
        zipCode: json["zipCode"],
        phone: json["phone"],
        paymentItem: json["paymentItem"],
        paymentTerm: json["paymentTerm"],
        status: json["status"],
        schoolName: json["schoolName"],
        studentNumber: json["studentNumber"],
        unitPrice: json["unitPrice"]?.toDouble(),
        subtotalPrice: json["subtotalPrice"]?.toDouble(),
        tax: json["tax"],
        paymentMethod: json["paymentMethod"],
        braintreeCustomerId: json["braintreeCustomerId"],
        transactionId: json["transactionId"],
        wireTransferBankName: json["wireTransferBankName"],
        wireTransferFile: json["wireTransferFile"],
        purchaseOrderNumber: json["purchaseOrderNumber"],
        purchaseOrderFile: json["purchaseOrderFile"],
        referrerCode: json["referrerCode"],
        couponCode: json["couponCode"],
        ipAddress: json["ipAddress"],
        createDate: json["createDate"],
        updateDate: json["updateDate"],
      );

  Map<String, dynamic> toJson() => {
        "id": id,
        "quoteNumber": quoteNumber,
        "platform": platform,
        "firstName": firstName,
        "lastName": lastName,
        "email": email,
        "zipCode": zipCode,
        "phone": phone,
        "paymentItem": paymentItem,
        "paymentTerm": paymentTerm,
        "status": status,
        "schoolName": schoolName,
        "studentNumber": studentNumber,
        "unitPrice": unitPrice,
        "subtotalPrice": subtotalPrice,
        "tax": tax,
        "paymentMethod": paymentMethod,
        "braintreeCustomerId": braintreeCustomerId,
        "transactionId": transactionId,
        "wireTransferBankName": wireTransferBankName,
        "wireTransferFile": wireTransferFile,
        "purchaseOrderNumber": purchaseOrderNumber,
        "purchaseOrderFile": purchaseOrderFile,
        "referrerCode": referrerCode,
        "couponCode": couponCode,
        "ipAddress": ipAddress,
        "createDate": createDate,
        "updateDate": updateDate,
      };
}
